﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CoreFrame.Business;

namespace MarchEstate.Manager.BusinesEntity.Costcalculate
{
    /// <summary>
    /// 物管费算法
    /// </summary>
    public abstract class AbstractTimeAlgorithmic : AbstractBusines
    {
        private decimal _unitprice;//单价

        public decimal Unitprice
        {
            get { return _unitprice; }
            set { _unitprice = value; }
        }

        private DateTime _lastDate;//上次到期日

        public DateTime LastDate
        {
            get { return _lastDate; }
            set { _lastDate = value; }
        }

        private DateTime _currentDate;//本次到期日

        public DateTime CurrentDate
        {
            get { return _currentDate; }
            set { _currentDate = value; }
        }

        /// <summary>
        /// 计算费用金额
        /// </summary>
        /// <param name="segvalue">时间段值</param>
        /// <param name="dayvalue">每天的值</param>
        /// <returns></returns>
        public abstract decimal GetItemFee(out List<object[]> segvalue);

        /// <summary>
        /// 计算滞纳金
        /// </summary>
        /// <returns></returns>
        public abstract decimal GetLateFee();
    }
}
